package com.iring.dao.common;

import java.util.List;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.jpa.repository.query.Procedure;

import com.iring.domain.common.AmountTask;


/**
 * 异常订单信息dao
 *
 * @author wanggan
 */
public interface PayAmountDao extends JpaRepository<AmountTask, Integer> {

    List<AmountTask> findByUsernameAndOptstatus(String username, Integer optstatus);

    /**
     * 查询所有的待处理的异常订单
     *
     * @return 待处理异常订单列表
     */
    @Query(value = "call USP_EXCEPTION_PAY_SELECT_PROC()", nativeQuery = true)
    List<AmountTask> finAllExceptionUndealTask();

    /**
     * 每晚定时任务充值成功后更新订单状态和异常订单的状态
     *
     * @param payid
     *            支付id
     * @return 处理结果
     */
    @Procedure(value = "USP_EXCEPTION_ORDER_UPDATE_PROC")
    Integer updateExceptionOrderStutus(String payid);

}
